package com.ruoyi.swap.realtime.kline.mapper;

import java.util.List;

import com.ruoyi.swap.openapi.currencyPair.domain.SwapCurrencyPair;
import com.ruoyi.swap.realtime.kline.domain.SwapKlineRealtimeData;
import com.ruoyi.swap.realtime.kline.domain.VO.SwapKlineRealtimeDataVO;
import org.apache.ibatis.annotations.Param;

/**
 * 实时K线监控Mapper接口
 * 
 * @author saumell
 * @date 2024-08-02
 */
public interface SwapKlineRealtimeDataMapper 
{
    /**
     * 查询实时K线监控
     * 
     * @param id 实时K线监控主键
     * @return 实时K线监控
     */
    public SwapKlineRealtimeDataVO selectSwapKlineRealtimeDataById(Integer id);

    /**
     * 查询实时K线监控列表
     * 
     * @param swapKlineRealtimeData 实时K线监控
     * @return 实时K线监控集合
     */
    public List<SwapKlineRealtimeDataVO> selectSwapKlineRealtimeDataList(SwapKlineRealtimeDataVO swapKlineRealtimeData);

    /**
     * 新增实时K线监控
     * 
     * @param swapKlineRealtimeData 实时K线监控
     * @return 结果
     */
    public int insertSwapKlineRealtimeData(SwapKlineRealtimeData swapKlineRealtimeData);

    /**
     * 修改实时K线监控
     * 
     * @param swapKlineRealtimeData 实时K线监控
     * @return 结果
     */
    public int updateSwapKlineRealtimeData(SwapKlineRealtimeData swapKlineRealtimeData);

    /**
     * 删除实时K线监控
     * 
     * @param id 实时K线监控主键
     * @return 结果
     */
    public int deleteSwapKlineRealtimeDataById(Integer id);

    /**
     * 批量删除实时K线监控
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSwapKlineRealtimeDataByIds(Integer[] ids);

    List<SwapCurrencyPair> queryDatabasedata();

    void addnewcurrency_pair(@Param("currencyPair")String currencyPair,@Param("currencyPair_api")String currencyPair_api);

    void deletenewcurrency_pair(String currencyPair);

    List<SwapKlineRealtimeDataVO> selectSwapAllData();

    Integer queryCurryNumber(@Param("currencyPair") String currencyPair);
    /**
     * 查询所有的交易对（无论状态）
     * @return 所有交易对列表
     */
    List<SwapCurrencyPair> queryAllDatabasedata();

    /**
     * 重新激活一个已存在的交易对
     * @param currencyPair 交易对名称
     */
    void reactivateCurrencyPair(@Param("currencyPair") String currencyPair);
}
